By plane
Mazatlán has an international airport - General Rafael Buelna International Airport IATA: MZT ICAO: MMMZ, also known as Mazatlán International Airport. It receives international travelers from: Los Angeles, San Francisco, Portland, Houston, South Shore Harbor, Salt Lake City, Phoenix, Denver, Minneapolis, Calgary, Edmonton, Regina, Saskatoon, Toronto-Pearson, Vancouver, and Winnipeg. You can reach Mazatlán from many other international origins via Mexico City.
By bus
Mexico has an extremely well developed bus route system and one can easily find a bus to wherever one needs to go. Mazatlán is about 12 hours away from Mexico City ~$90 one way, 6 hours from Guadalajara ~$40 one way, 15 hours from Nogales ~$50 one way, and only about 2 hours from Culiacán. Note: for whatever reason, the bus companies crank up the A/C, so bring a sweater!
By ship
Baja Ferries runs a ferry between Mazatlan and La Paz in Baja California. The trip takes 16 hours or more and leaves Mazatlan almost daily check for weekend departures. Also, Mazatlán has a busy port which accommodates a number of cruise ships that sail up and down the western coast of the Americas. From the port, it's a five-minute taxi ride to the southernmost hotels or fifteen minutes to the more modern and more expensive places to the north.